#ifndef __BSP_IIC_H__
#define __BSP_IIC_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "main.h"
	
	

	
typedef void 			handle_fun(void);
typedef uint8_t 	read_fun(void);	
typedef void 			delay_fun(void);


typedef struct
{
		handle_fun		*SDA_H;
		handle_fun		*SDA_L;
		handle_fun		*SCL_H;
		handle_fun		*SCL_L;
		read_fun			*Read_SDA;
		delay_fun			*Delay;
}User_bsp_iic_t;
	
	
	
	
	
	
	
	
	
	
void 		IIC_Init(User_bsp_iic_t  *handle);
void 		IIC_Start(User_bsp_iic_t  *handle);
void 		IIC_Stop(User_bsp_iic_t  *handle);
uint8_t IIC_WaiteAck(User_bsp_iic_t  *handle);
void 		IIC_SendAck(User_bsp_iic_t  *handle);
void 		IIC_SendNoAck(User_bsp_iic_t  *handle);
void 		IIC_WriteByte(User_bsp_iic_t  *handle,uint8_t data);
uint8_t IIC_ReadByte(User_bsp_iic_t  *handle,uint8_t ack);

#endif

